/**
 * 项目名称（软件名称）：忠旺机械物资管理系统(mms)
 * 研发设计单位：忠旺机械设备制造有限公司机械设计院智能控制设计科设计与研发。
 * 版权所有：忠旺机械设备制造有限公司
 * 注：本项目的一切技术专利，使用规范归解释权由忠旺机械设备制造有限公司所有。
 * 软件版本：Ver 1.0.0
 * 文件路径：com.zhongwang.mms.module.purchase.controller
 * 创建时间：2020年03月16日 12时47分
 **/
package com.zhongwang.mms.module.jiaGongStorage.controller;

import com.zhongwang.mms.base.BaseController;
import com.zhongwang.mms.common.JsonResult;
import com.zhongwang.mms.gen.entity.Role;
import com.zhongwang.mms.module.jiaGongStorage.model.JInStorage;
import com.zhongwang.mms.module.jiaGongStorage.service.StorageInService;
import com.zhongwang.mms.module.purchase.constant.PurchaseConstant;
import com.zhongwang.mms.module.purchase.model.PInOrder;
import com.zhongwang.mms.module.purchase.model.PurWarInManageParamModel;
import com.zhongwang.mms.module.purchase.service.PurWarInManageService;
import com.zhongwang.mms.module.system.role.RoleService;
import com.zhongwang.mms.util.ShiroUtils;
import org.apache.shiro.authz.annotation.Logical;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;
import java.util.List;


/**
 * @ClassName： JiaGongStorageController
 * @Description：甲供件 外购件入库控制层
 * @Author： 李青雨
 * @Date： 2020/3/16 12:47
 * @Version： V1.0
 **/
@Controller
@RequestMapping("/jiaGongInto")
public class StorageInController extends BaseController {

    @Autowired
    private PurWarInManageService purWarInManageService;
    @Autowired
    private StorageInService storageInService;
    @Autowired
    private RoleService roleService;

    /**
     * 正式入库页面
     *
     * @return 页面路径
     */
    @GetMapping("/page")
    public String PurWarInManage(Model model) {
        //获取角色码用来进行控制页面显示内容
        List<Role> roles = new ArrayList<>();
        roles.addAll(roleService.findRolesByUserId(ShiroUtils.getUser().getId()));
        List<String> roleCodes = new ArrayList<>();
        for (Role role : roles) {
            roleCodes.add(role.getRoleCode());
        }
        if (ShiroUtils.getUser().getAccount().equals("admin")) {
            roleCodes.add("admin");
        }
        model.addAttribute("roleCodes", roleCodes);
        model.addAttribute("odrMakePerson", ShiroUtils.getUser().getName());
//        String serialNumber = ShiroUtils.getUser().getAccount()+UUID.randomUUID().toString();
//        ShiroUtils.getUser().setSerialNumber(serialNumber);
//        model.addAttribute("serialNumber", serialNumber);
        return "jiaGongStorage/storageIn/page";
    }


    @PostMapping("/create")
    @ResponseBody
    public JsonResult create(@RequestBody JInStorage jInStorage) {
        return storageInService.create(jInStorage);
    }
    @PostMapping("listLibrary")
    @ResponseBody
    /**
     *@FunctionName: findWarehouseInfoList
     *@Description: 甲供件外购件页面专属获取仓库信息列表
     *@Author: 李青雨
     *@CreateDate: 2020/3/18 16:55
     *@Phone: 18241927380
     *@Param:
     *@Return: List<TWarehouseInfo> 仓库信息列表
     *@Version: 1.0.0
     */
    public JsonResult listLibrary(){
        return jsonResult(storageInService.findWarehouseInfoList());
    }

}